<?php
// namespace my\name; // 参考 "定义命名空间" 小节

// class MyClass {

//     public function test(){
//         echo 1;
//     }

// }
// function myfunction() {}
// const MYCONST = 1;

// $a = new MyClass;
// // var_dump($a);
// // $a->test();


// $c = new \my\name\MyClass; // 参考 "全局空间" 小节
// // var_dump($c);
// // $a->test();

// $a = strlen('hi'); // 参考 "使用命名空间：后备全局函数/常量" 小节

// $d = namespace\MYCONST; // 参考 "namespace操作符和__NAMESPACE__常量" 小节
// var_dump($d);

// var_dump(__NAMESPACE__);
// $d = __NAMESPACE__ . '\MYCONST';
// echo constant($d); // 参考 "命名空间和动态语言特征" 小节

// namespace my\test;
// class MyClass {
    
//     public function test(){
//         echo 1;
//     }
    
// }

// $a = \my\test\MyClass;

// $a->test();

// namespace Myproject\Sub\Level{

//     const CONNET_OK  = 1;
//     class Connection{}
//     function connect(){

//     }
// }
// echo \Myproject\Sub\Level\CONNET_OK;
// echo \MyProject1\A;

// namespace MyProject1{
//     const A = 1;
//     class people{}
//     function connect(){}
    
//     // echo \Myproject\Sub\Level\CONNET_OK;
//     echo A;

//     // echo B;
//     echo \MyProject1\A;
// }

// namespace {
//     const B = 1;
    
//     echo \Myproject\Sub\Level\CONNET_OK;
//     echo B;
//     echo \MyProject1\A;
// }


// trait test1 {
//     function add($a,$b){
//         echo $a+$b;
//     }
// }


// trait test2{
//     function sub($a,$b){
//         echo $a-$b;
//     }
// }


// class test{
//     use test1,test2;

// }

// $t = new test();
// $t->add(1,2);
// $t->sub(1,2);

// trait A{

//     public function smallTalk(){
//         echo 'a';
//     } 

//     public function bigTalk(){
//         echo 'A';
//     } 
// }

// trait B{
    
//     public function smallTalk(){
//         echo 'b';
//     } 

//     public function bigTalk(){
//         echo 'B';
//     } 
// }


// class Talker {
//     use A,B{
//         B::smallTalk insteadof A;
//         A::bigTalk insteadof B;
//     }
// }


// class Aliased_Talker{
//     use A,B{
//         B::smallTalk insteadof A;
//         A::bigTalk insteadof B;
//         B::bigTalk as talk;
//     }
// }

// $users = array('trigkit4'=>22,'mike'=>20,'john'=>30);
// print_r(each($users));

// $a = 3;
// $b = 5;
// $arr = [$a,$b];

// list($b,$a) = $arr;

// echo $a;
// echo $b;
// $a = $a+$b;
// $b = $a- $b;
// $a = $a-$b;

// echo $a;
// echo $b;

// $arr = [1,2,3,4,5,6];
// krsort($arr);
// var_dump($arr);
// sort();asort();ksort();
// rsor();arsort();krsort();

// $new_arr = array_rand($arr);
// print_r($new_arr);
// echo count($arr);
// echo sizeof($arr);
// var_dump(array_count_values($arr));

// $value = range(0,120);
// var_dump($value);
// for($i=0;$i<count($value);$i++){
//     print_r($value[$i].' ');//0 10 20 30 40 50 60 70 80 90 100 110 120 
// }

// $arr = [14=>130,15=>150];
// foreach($arr as $k =>$v){
//     $arr = array_pad($value,$k,$v);
// }

// var_dump($arr);
// $arr = array_pad($value,);
// var_dump($arr);

// $num = range('a','e');
// var_dump($num);
// $arrayFilled = array_fill(1,2,$num);
// print_r($arrayFilled);

// $color = array("red", "green", "blue", "yellow");
// $new_arr = array_slice($color,1,3);
// print_r($new_arr);
// print_r($color);
// echo '<hr>';


// $color = array("red", "green", "blue", "yellow");
// print_r($color);
// $a = array_splice($color,1,1); //删除第二个元素
// print_r($a);
// print_r($color);

// $array = array("red","blue","red","Black");
// $array = array_flip($array);
// print_r($array);
// echo 1;

// $array = array("red","blue","red","Black");
// $result=array_search("red",$array,true);//array_search(value,array,strict)
//  if($result === NULL){
//      echo "不存在数值red";
//  }else{
//      echo "存在数值 $result";//存在数值 0 
//  }

// $ar1 = array(10, 100, 100, 0);
// $ar2 = array(1, 3, 2, 4);
// array_multisort($ar1, $ar2);

// var_dump($ar1);
// var_dump($ar2);

// $str = "LAMP";
// $str1 = "LAMPBrother";
// $strc = strcmp($str,$str1);
// print_r($strc);die;
// switch ($strc){
//        case 1:
//               echo"str > str1";
//               break;
//        case –1:
//               echo"str < str1";
//               break;
//        case 0:
//               echo "str=str1";
//               break;
//        default:
//               echo"str <> str1";
// }

// class Sword
// {
//     //剑的长度
//     public $length;

//     public function __construct($length)
//     {
//         $this->length = $length;
//     }

//     public function useSword()
//     {
//         echo '用'.$this->length.'长的剑冲啊~~~!<br/>';
//     }
// }


// class Soldier
// {
//     //士兵的武器
//     public $sword;

//     public function __construct(Sword $sword)
//     {
//         $this->sword = $sword;
//     }

//     //战斗
//     public function fight()
//     {
//         //挥舞剑
//         $this->sword->useSword();
//     }
// }


// $sword1 = new Sword(5);
// $sword2 = new Sword(10);
// $soldier1 = new Soldier($sword1);
// $soldier2 = new Soldier($sword2);

// $soldier1->fight();
// $soldier2->fight();

//题目出的很误导人，其实意思就是判断给出的字符串中有多少种不同种类的字符，超过两种就是不合适的


// 如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。
// 小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。
// 但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列

// $arr = [1,10,3,5,7,8,9];
// sort($arr);
// $l = count($arr);
// for($i = 0;$i<$l;$i++){
//     if($i +1 < $l){
//         echo $i;
//         $arr1[] = $arr[$i+1] - $arr[$i];        
//     }        
// }
// $arr1 = array_count_values($arr1);

// if(count($arr1) >1){
//     echo '不能通过交换操作变成等差数列';
// }else{
//     echo '能通过交换操作变成等差数列';    
// }




// 如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。
// 小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。

// $s = "0110101001010100000111010101010111111000000";
// $l=strlen($s);
// $now = 1;
// for($i = 1;$i<$l;$i++){
//     if($s[$i] != $s[$i-1]) {
//         $now ++;
//     }else{
//         $now = 1;
//     }
//     $arr[] = $now;
// }

// echo max($arr);

// 小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:
// 1、将a_i放入b序列的末尾
// 2、逆置b序列
// 小易需要你计算输出操作n次之后的b序列。

// $n = [1,2,3,4];
// $b = [];

// $l = count($n);
// for($i = 0;$i<$l;$i++){
//     array_push($b,$n[$i]);
//     $b = array_reverse($b);
// }
// print_r($b);


// 小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。
// 一个人生活增加了许多花费: 小易每天必须吃一个水果并且需要每天支付x元的房屋
// 当前小易手中已经有f个水果和d元钱,小易也能去商店购买一些水果,商店每个水果售卖p元。
// 小易为了表现他独立生活的能力,希望能独立生活的时间越长越好
// ,小易希望你来帮他计算一下他最多能独立生活多少天。
// $x = x;$f = f;$d = d;$p = p;

// if($d/$x >$f){//钱足够
//     $l = $d-$x*$f;
//     $res = floor($l/($p+$x)) + $f; 
// }else if($d/$x = $f){
//     $res = $f;
// }else{
//     $res = floor($d/($p+$x));
// }

// 小易将n个棋子摆放在一张无限大的棋盘上。
// 第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。
// 每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。
// 小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.


